package com.zg.third.api.domain.vo;

import com.zg.common.core.vo.BaseVo;
import lombok.Data;

/**
 * 企业信息核验VO类
 * 对应接口：/EnterpriseInfo/Verify
 * API编码：2001
 */
@Data
public class QccEnterpriseInfoVo extends BaseVo {
    /**
     * 验证结果 1:存在记录 0:不存在记录
     */
    private int VerifyResult;

    /**
     * 企业信息数据
     */
    private EnterpriseData Data;

    /**
     * 企业信息详情
     */
    @Data
    public static class EnterpriseData {
        /**
         * 企业KeyNo 唯一标识
         */
        private String KeyNo;

        /**
         * 企业名称
         */
        private String Name;

        /**
         * 统一社会信用代码
         */
        private String CreditCode;

        /**
         * 法定代表人
         */
        private String OperName;

        /**
         * 指定代表列表
         */
        private DesignatedRepresentativeList[] DesignatedRepresentativeList;

        /**
         * 经营状态
         */
        private String Status;

        /**
         * 成立日期
         */
        private String StartDate;

        /**
         * 注册资本
         */
        private String RegistCapi;

        /**
         * 注册资本(数字)
         */
        private String RegisteredCapital;

        /**
         * 注册资本单位
         */
        private String RegisteredCapitalUnit;

        /**
         * 注册资本币种
         */
        private String RegisteredCapitalCCY;

        /**
         * 实收资本
         */
        private String RealCapi;

        /**
         * 实缴资本(数字)
         */
        private String PaidUpCapital;

        /**
         * 实缴资本单位
         */
        private String PaidUpCapitalUnit;

        /**
         * 实缴资本币种
         */
        private String PaidUpCapitalCCY;

        /**
         * 组织机构代码
         */
        private String OrgNo;

        /**
         * 注册号
         */
        private String No;

        /**
         * 税务登记证号
         */
        private String TaxNo;

        /**
         * 企业类型
         */
        private String EconKind;

        /**
         * 营业期限自
         */
        private String TermStart;

        /**
         * 营业期限至
         */
        private String TermEnd;

        /**
         * 纳税人类型
         */
        private String TaxpayerType;

        /**
         * 人员规模
         */
        private String PersonScope;

        /**
         * 参保人数
         */
        private String InsuredCount;

        /**
         * 核准日期
         */
        private String CheckDate;

        /**
         * 地区代码
         */
        private String AreaCode;

        /**
         * 所在地区
         */
        private Area Area;

        /**
         * 登记机关
         */
        private String BelongOrg;

        /**
         * 海关代码
         */
        private String ImExCode;

        /**
         * 行业信息
         */
        private Industry Industry;

        /**
         * 英文名称
         */
        private String EnglishName;

        /**
         * 注册地址
         */
        private String Address;

        /**
         * 注册地址邮编
         */
        private String AddressPostalCode;

        /**
         * 年报地址
         */
        private String AnnualAddress;

        /**
         * 年报地址邮编
         */
        private String AnnualAddressPostalCode;

        /**
         * 经营范围
         */
        private String Scope;

        /**
         * 企业类型编码
         */
        private String EntType;

        /**
         * 组织代码列表
         */
        private OrgCodeList[] OrgCodeList;

        /**
         * 企业Logo图片URL
         */
        private String ImageUrl;

        /**
         * 吊销信息
         */
        private RevokeInfo RevokeInfo;

        /**
         * 曾用名列表
         */
        private OriginalName[] OriginalName;

        /**
         * 上市信息
         */
        private StockInfo StockInfo;

        /**
         * 联系方式
         */
        private ContactInfo ContactInfo;

        /**
         * 经纬度信息
         */
        private LongLat LongLat;

        /**
         * 银行信息
         */
        private BankInfo BankInfo;

        /**
         * 是否小微企业 0:否 1:是
         */
        private String IsSmall;

        /**
         * 企业规模 L:大型 M:中型 S:小型 XS:微型
         */
        private String Scale;

        /**
         * QCC行业分类
         */
        private QccIndustry QccIndustry;

        /**
         * 是否官方英文名 0:否 1:是
         */
        private String IsOfficialEnglish;
    }

    /**
     * 指定代表信息
     */
    @Data
    public static class DesignatedRepresentativeList {
        /**
         * 合伙人名称
         */
        private String PartnerName;

        /**
         * 委派代表名称
         */
        private String DelegatedName;
    }

    /**
     * 地区信息
     */
    @Data
    public static class Area {
        /**
         * 省份
         */
        private String Province;

        /**
         * 城市
         */
        private String City;

        /**
         * 区县
         */
        private String County;
    }

    /**
     * 行业信息
     */
    @Data
    public static class Industry {
        /**
         * 行业代码
         */
        private String IndustryCode;

        /**
         * 行业名称
         */
        private String Industry;

        /**
         * 子行业代码
         */
        private String SubIndustryCode;

        /**
         * 子行业名称
         */
        private String SubIndustry;

        /**
         * 中类代码
         */
        private String MiddleCategoryCode;

        /**
         * 中类名称
         */
        private String MiddleCategory;

        /**
         * 小类代码
         */
        private String SmallCategoryCode;

        /**
         * 小类名称
         */
        private String SmallCategory;
    }

    /**
     * 组织代码信息
     */
    @Data
    public static class OrgCodeList {
        /**
         * 主分类代码
         */
        private String PrimaryCode;

        /**
         * 次分类代码
         */
        private String SecondaryCode;
    }

    /**
     * 吊销信息
     */
    @Data
    public static class RevokeInfo {
        /**
         * 注销日期
         */
        private String CancelDate;

        /**
         * 注销原因
         */
        private String CancelReason;

        /**
         * 吊销日期
         */
        private String RevokeDate;

        /**
         * 吊销原因
         */
        private String RevokeReason;
    }

    /**
     * 曾用名信息
     */
    @Data
    public static class OriginalName {
        /**
         * 曾用名
         */
        private String Name;

        /**
         * 变更日期
         */
        private String ChangeDate;
    }

    /**
     * 上市信息
     */
    @Data
    public static class StockInfo {
        /**
         * 股票编号
         */
        private String StockNumber;

        /**
         * 股票类型
         */
        private String StockType;
    }

    /**
     * 联系方式信息
     */
    @Data
    public static class ContactInfo {
        /**
         * 网站列表
         */
        private String[] WebSiteList;

        /**
         * 邮箱
         */
        private String Email;

        /**
         * 更多邮箱列表
         */
        private MoreEmailList[] MoreEmailList;

        /**
         * 电话
         */
        private String Tel;

        /**
         * 更多电话列表
         */
        private MoreTelList[] MoreTelList;
    }

    /**
     * 更多邮箱信息
     */
    @Data
    public static class MoreEmailList {
        /**
         * 邮箱地址
         */
        private String Email;

        /**
         * 来源
         */
        private String Source;
    }

    /**
     * 更多电话信息
     */
    @Data
    public static class MoreTelList {
        /**
         * 电话号码
         */
        private String Tel;

        /**
         * 来源
         */
        private String Source;
    }

    /**
     * 经纬度信息
     */
    @Data
    public static class LongLat {
        /**
         * 经度
         */
        private String Longitude;

        /**
         * 纬度
         */
        private String Latitude;
    }

    /**
     * 银行信息
     */
    @Data
    public static class BankInfo {
        /**
         * 开户银行
         */
        private String Bank;

        /**
         * 银行账号
         */
        private String BankAccount;

        /**
         * 开户名称
         */
        private String Name;

        /**
         * 信用代码
         */
        private String CreditCode;

        /**
         * 开户地址
         */
        private String Address;

        /**
         * 联系电话
         */
        private String Tel;
    }

    /**
     * QCC行业分类信息
     */
    @Data
    public static class QccIndustry {
        /**
         * A级行业名称
         */
        private String AName;

        /**
         * B级行业名称
         */
        private String BName;

        /**
         * C级行业名称
         */
        private String CName;

        /**
         * D级行业名称
         */
        private String DName;
    }
}
